package com.kmxd.ams.infra.archive.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 整理规则-分类管理
 *
 * @author nickbi
 * @since 2022-07-19
 */
@Data
@TableName("s_archive_classify")
public class ArchiveClassify implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键ID */
  private Long id;

  /** 全宗ID */
  private Long fondsId;

  /** 门类配置id 将s_archive_rule表中的arch_type_id冗余过来，便于查询 */
  private Long archiveTypeId;

  /** 父节点id 父节点id，自关联，顶层默认0 */
  private Long pid;

  /** 分类号 */
  private String code;

  /** 名称 */
  private String name;

  /** 路径 取父节点的path字段加上/自己id/作为参数值 */
  private String path;

  /** code路径 取父节点的pathcode字段加上[s_archive_rule.separator]+[自己code]作为值。顶级节点是[自己code] */
  private String pathCode;

  /** 归档范围 */
  private String pigeonhole;

  /** 保管期限 */
  private String deadline;

  /** 密级 */
  private String secret;

  /** 关联版本信息 */
  private Long versionId;

  /** 从0开始 */
  private Integer level;

  /** 备注 */
  private String remark;

  /** 默认值 */
  private String defaultValue;

  /** 提示信息 */
  private String alertInfo;

  /** 排序 */
  private Integer sort;

  /** 创建人 */
  @TableField(fill = FieldFill.INSERT)
  private Long createBy;

  /** 创建时间 */
  @TableField(fill = FieldFill.INSERT)
  private Date createTime;

  /** 更新人 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private Long updateBy;

  /** 更新时间 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private Date updateTime;

  /** 删除状态(0-正常,1-已删除) */
  private Long delFlag;
}
